<?php

namespace Sitio\WebBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Response;
/**
 * @Route("/")
 */
class DefaultController extends Controller
{
    /**
     * @Route("/",name="index")
     * @Template()
     */
    public function indexAction()
    {
        $em = $this->getDoctrine()->getManager();
        $proyectos = $em->getRepository("SitioWebBundle:Proyecto")->findAll();
        return array('proyectos'=>$proyectos);
    }
    
    /**
     * @Route("/slugtest")
     * 
     */
    public function slugAction()
    {
        $slug = $this->get('slugify')->slugify("Hola Mundo!");
        return new Response($slug);
    }
    
    /**
     * Finds and displays a Proyecto entity.
     *
     * @Route("/proyectos/ajax/{slug}", name="entidades_proyecto_ajax")
     * @Method("GET")
     * @Template()
     */
    public function proyectoAjaxAction($slug)
    {
        $em = $this->getDoctrine()->getManager();

        $entity = $em->getRepository('SitioWebBundle:Proyecto')->findOneBySlug($slug);

        if (!$entity) {
            throw $this->createNotFoundException('Unable to find Proyecto entity.');
        }

        

        return array(
            'entity'      => $entity,            
        );
    }
    
    /**
     * Finds and displays a Proyecto entity.
     *
     * @Route("/contacto", name="contacto")
     * @Method("POST") 
     * 
     */
    public function consultaAction()
    {
        
        $request = $this->getRequest();
        $datos = array('de'=>$request->get('from'),'asunto'=>$request->get('subject'),'cuerpo'=>$request->get('body'),'email'=>$request->get('email'));
        //var_dump($datos);
        $message = \Swift_Message::newInstance()
        ->setSubject('Contacto en Mi Pagina')
        ->setFrom('no-reply@ezequielzacca.com.ar')
        ->setTo('ezequielzacca@gmail.com')
        ->setBody(
            $this->renderView(
                'SitioWebBundle:Default:emailContacto.txt.twig',
                array('datos' => $datos)
            )
        )
    ;
    $this->get('mailer')->send($message);
    $respuesta = \Swift_Message::newInstance()
        ->setSubject('Gracias por Contactarme')
        ->setFrom('no-reply@ezequielzacca.com.ar')
        ->setTo($datos['email'])
        ->setBody(
            $this->renderView(
                'SitioWebBundle:Default:respuestaContacto.txt.twig',
                array('datos' => $datos)
            )
        )
    ;
    $this->get('mailer')->send($respuesta);
        

        return new Response('SEND');
    }
}
